home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / rjs.lha / RJS / String / src / pad.C < prev    next >
C/C++ Source or Header  |  1991-06-14  |  608b  |  45 lines

  1. #include "String.h"
  2.  
  3. RJS_String &RJS_String::pad(int len,Side pt,char pc)
  4. {
  5.  
  6. if (length() >= len) return *this;
  7.  
  8. RJS_String spc(pc);
  9. int diff=len-length();
  10.  
  11. switch(pt) {
  12.     case Left:
  13.         prepend(spc*diff);
  14.         break;
  15.     case Right:
  16.         append(spc*diff);
  17.         break;
  18.     case Both:
  19.         int j=diff/2;
  20.         int i=diff-j;
  21.         prepend(spc*i);
  22.             append(spc*j);
  23.         break;
  24. } // switch
  25.  
  26.  return *this;
  27.  
  28. }
  29.  
  30. RJS_String pad(const char *s,int len,Side pt,char pc)
  31. {
  32. RJS_String temp(s);
  33.  
  34.   return temp.pad(len,pt,pc);
  35. }
  36.  
  37. RJS_String pad(const RJS_String &s,int len,Side pt,char pc)
  38. {
  39. RJS_String temp(s);
  40.  
  41.   return temp.pad(len,pt,pc);
  42. }
  43.  
  44.  
  45.